package cn.fl.splrate.transform;

import cn.cmm.base.framework.utils.CollectionUtils;
import cn.fl.splrate.vo.SplRelDataOpRecVO;
import fl.mongo.facade.spl.dto.SplRelDataOpRecDTO;

import java.util.ArrayList;
import java.util.List;

public class SplRelDataOpRecVOTransform {

    /**
     * PO转DTO
     *
     * @param po
     * @return
     */
    public static SplRelDataOpRecDTO toDTO(SplRelDataOpRecVO po) {
        SplRelDataOpRecDTO dto = null;
        if (null != po) {
            dto = new SplRelDataOpRecDTO();
            dto.setId(po.getId());
            dto.setCrtTm(po.getCrtTm());
            dto.setCrtUsrId(po.getCrtUsrId());
            dto.setCrtUsrNm(po.getCrtUsrNm());
            dto.setOpDesc(po.getOpDesc());
            dto.setOpTypCd(po.getOpTypCd());
            dto.setDataId(po.getDataId());
            dto.setDataNm(po.getDataNm());
            dto.setIsDel(po.getIsDel());
            dto.setOpObjTyp(po.getOpObjTyp());
            dto.setCompareDiffInfo(po.getCompareDiffInfo());
            dto.setDataTypCd(po.getDataTypCd());
            dto.setIsValid(po.getIsValid());
            dto.setOpAfterData(po.getOpAfterData());
            dto.setOpBeforeData(po.getOpBeforeData());
            dto.setOpDataTabNm(po.getOpDataTabNm());
            dto.setPkId(po.getPkId());
        }
        return dto;
    }

    /**
     * DTO转PO
     *
     * @param dto
     * @return
     */
    public static SplRelDataOpRecVO toPO(SplRelDataOpRecDTO dto) {
        SplRelDataOpRecVO po = null;
        if (null != dto) {
            po = new SplRelDataOpRecVO();
            po.setId(dto.getId());
            po.setCrtTm(dto.getCrtTm());
            po.setCrtUsrId(dto.getCrtUsrId());
            po.setCrtUsrNm(dto.getCrtUsrNm());
            po.setOpDesc(dto.getOpDesc());
            po.setOpTypCd(dto.getOpTypCd());
            po.setDataId(dto.getDataId());
            po.setDataNm(dto.getDataNm());
            po.setIsDel(dto.getIsDel());
            po.setOpObjTyp(dto.getOpObjTyp());
            po.setCompareDiffInfo(dto.getCompareDiffInfo());
            po.setDataTypCd(dto.getDataTypCd());
            po.setIsValid(dto.getIsValid());
            po.setOpAfterData(dto.getOpAfterData());
            po.setOpBeforeData(dto.getOpBeforeData());
            po.setOpDataTabNm(dto.getOpDataTabNm());
            po.setPkId(dto.getPkId());
        }
        return po;
    }

    /**
     * PO集合 转 DTO集合
     *
     * @param list List<SplRelDataOpRecVO>
     * @return List<SplRelDataOpRecDTO>
     */
    public static List<SplRelDataOpRecDTO> toDTOList(List<SplRelDataOpRecVO> list) {
        List<SplRelDataOpRecDTO> dtoList = new ArrayList<SplRelDataOpRecDTO>();
        if (CollectionUtils.isNotEmpty(list)) {
            for (SplRelDataOpRecVO po : list) {
                dtoList.add(toDTO(po));
            }
        }
        return dtoList;
    }
}
